Positional route guidance

ABSTRACT

Embodiments of the present invention provide methods, program products, and systems for locating an unknown location by searching known geographical indicators. Embodiments of the present invention can be used to receive a search query for an unknown location. The search query can comprise one or more symbols denoting geographical indicators representative of the unknown location. Embodiments of the present invention can be used to locate unknown locations by searching for a location that matches the one or more symbols representative of the unknown location and returning results that match the received search query.

BACKGROUND

The present invention relates generally to the field of navigationsystems, and more particularly to geographical indicators usednavigation systems.

In general, navigation systems can determine the position of a user fromradio signals of satellites. Typically, navigation systems receive radiosignals, calculate a user's position, and route a user to an intendeddestination. In some instances, navigation systems have features thatallow a user to sort route preferences by shortest route and fastestroute. In other instances, navigation systems have features to avoidcertain locations (e.g., toll roads).

SUMMARY

Embodiments of the present invention provide methods, program products,and systems for locating an unknown location by searching knowngeographical indicators. In one embodiment, a method is provided, whichincludes: receiving a search query for an unknown location, wherein thesearch query comprises one or more symbols denoting geographicalindicators representative of the unknown location; searching for alocation that matches the one or more symbols representative of theunknown location; and returning results that match the received searchquery.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computing environment, in accordance withan embodiment of the present invention;

FIG. 2 is a flowchart illustrating operational steps for searchingmatching geographical indicators, in accordance with an embodiment ofthe present invention;

FIGS. 3A-C are example graphical icons that denote geographicalindicators, in accordance with an embodiment of the present invention;

FIG. 4 is an example graphical user interface for inputting geographicalindicators, in accordance with another embodiment of the presentinvention;

FIGS. 5A and 5B are example screenshots generated responsive toreceiving a user search query for geographical indicators, in accordancewith an embodiment of the present invention; and

FIG. 6 is a block diagram of internal and external components of thecomputer systems of FIG. 1, in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that navigation systemscan be lacking in terms of searchable features. Typically, to find alocation, a user must know the name of the desired location or theaddress of a location in order for the navigation system to locate andcalculate a route to the desired location. Embodiments of the presentinvention provide solutions that allow a navigation system to searchbeyond conventional methods of searching (e.g., by address and/or nameof the desired location). In this manner, as discussed in greaterdetailed later in this specification, embodiments of the presentinvention can be used to locate desired locations based, at least inpart, on geographical indicators.

FIG. 1 is a functional block diagram of computing environment 100, inaccordance with an embodiment of the present invention. Computingenvironment 100 includes computer system 102 and computer system 106.Computer system 102 and computer system 106 can be desktop computers,laptop computers, specialized computer servers, or any other computersystems known in the art. In certain embodiments, computer system 102and computer system 106 represent computer systems utilizing clusteredcomputers and components to act as a single pool of seamless resourceswhen accessed through network 112. For example, such embodiments may beused in data center, cloud computing, storage area network (SAN), andnetwork attached storage (NAS) applications. In certain embodiments,computer system 102 and computer system 106 represent virtual machines.In general, computer system 102 and computer system 106 arerepresentative of any electronic devices, or combination of electronicdevices, capable of executing machine-readable program instructions, asdescribed in greater detail with regard to FIG. 6.

Computer system 102 includes browser 104. Browser 104 communicates withcomputer system 106 to access positional guidance program 108 (e.g.,using TCP/IP) to enter one or more user search queries. A search queryis a string of query terms pertaining to a particular location ofinterest to a user. In this embodiment, a search query can be one ormore graphical icons representative of geographical indicators used tolocate an area of interest. The term “geographical indicators”, as usedherein, refer to positional information that can be entered by a user.For example, a geographical indicator can be a junction point (such asY, X, O-shaped junctions), places of interests (such as gas station,restaurant, hospital, etc.), directional information with respect toplaces of interests (such as right of gas station, left of restaurant,etc.), proximity to a current or known location (such as a searchradius), and navigational direction with respect to the proximity to acurrent location (such as north, south, east, west, etc.). In general,browser 104 can be implemented using a browser and web portal or anyprogram that transmits search queries to, and receives results from,computer system 106.

Computer system 106 includes positional guidance program 108 anddatabases 110. Positional guidance program 108 displays graphicalrepresentations of selectable graphical indicators that a user can useto enter search queries, receives search queries (such as one or moregeographical indicators), searches databases 110 for one or moregeographical locations that match the terms of the search query, andreturns results that match the terms of the search query to computersystem 102. For example, a user can specify the following geographicalindicators as terms of a search query: a Y-shaped junction, west of thecurrent location, within a ten mile radius, that is next to a gasstation. Responsive to receiving a search query with the above-mentionedgeographical indicators, positional guidance program 108 searchesdatabases 110 for locations that match the terms of the search query.Accordingly, positional guidance program 108 returns results to computersystem 102 that match the terms of the search query (such as a locationthat matches the geographical indicators specified by the user). A usercan then select an option to generate a route to his/her intendeddestination directing him/her through the geographical indicatorsspecified.

Where a desired location is unknown by conventional methods (e.g., auser does not know the name or address of a location), but is known bygeographical indicators, embodiments of the present invention can searchdatabases containing maps (e.g., databases 110) for geographicalindicators that match the terms of the search query. In this embodiment,positional guidance program 108 searches for geographical indicatorsthat match the terms of the search query by identifying a general regionof interest by using a user specified radius (e.g., within 10 miles of acurrent location) and direction with respect to the specified radius(e.g., west of a current location). Positional guidance program 108 canthen refine the search by identifying other geographical indicatorswithin the region of interest. For example, positional guidance program108 can search for junction points that match the terms of the searchquery within the region of interest.

Where a desired location is known and a route has already been generatedby conventional methods, embodiments of the present invention can beused to alter a given route based, at least in part, on receivedgeographical indicators. For example, positional guidance program 108can receive a request to alter a generated route. In this example, auser has specified a search query of a roundabout intersection, west ofthe current location, within ten miles. Responsive to receiving thesearch query (such as the geographical indicators), positional guidanceprogram 108 can find locations that match the geographical indicatorsand return the results (e.g., locations that match the geographicalindicators) to computer system 102.

For illustrative purposes, the following discussion is made with respectto positional guidance program 108 and databases 110 residing oncomputer system 106. However, it should be understood that positionalguidance program 108 and databases 110 can be local to computer system102 (e.g., a user's personal computer, car navigation system, tablet,etc.) or distributed throughout the computer systems described in FIG.1.

Databases 110 include one or more maps capable of being accessed bypositional guidance program 108. In general, databases 110 can beimplemented with any storage architecture known in the art.

Network 112 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, andinclude wired, wireless, or fiber optic connections. In general, network112 can be any combination of connections and protocols that willsupport communications between computer system 102 and computer system106, in accordance with a desired embodiment of the invention.

FIG. 2 is a flowchart 200 illustrating operational steps for searchingmatching geographical indicators, in accordance with an embodiment ofthe present invention.

In step 202, positional guidance program 108 receives a search query. Inthis embodiment, positional guidance program 108 receives a search queryfrom browser 104. As previously discussed a search query can include oneor more graphical icons representative of geographical indicators usedto locate an area of interest (such as a junction point (such as Y, X,O-shaped junctions)), places of interests (such as gas station,restaurant, hospital, etc.), directional information with respect toplaces of interests (such as right of gas station, left of restaurant,etc.), proximity to a current or known location (such as a searchradius), and navigational direction with respect the proximity to acurrent location (such as north, south, east, west, etc.)). In otherembodiments, positional guidance program 108 can receive search queriesfrom one or more other components of computing environment 100.

In step 204, positional guidance program 108 searches databases formatching geographical indicators. In this embodiments, positionalguidance program 108 searches databases for matching geographicalindicators by identifying a search radius and refining the search togeographical indicators that match the terms of the search query withinthe search radius. For example, a user can select the followinggeographical indicators as terms for a search query: a Y-shapedjunction, west of the current location, within a ten mile radius, thatis next to a gas station.

In this embodiment, positional guidance program 108 searches databasesfor matching geographical indicators by identifying a current locationand identifying a search radius in proximity to the current location.For example, positional guidance program 108 can identify from thesearch query that the search radius is ten miles from the currentlocation specified by the user.

Positional guidance program 108 can then refine the search to find alocation that matches other geographical indicators specified by theuser. Continuing the above example, positional guidance program 108 canrefine the search by using geographical indicators specified in thesearch query (e.g., a Y-shaped junction, west of the current locationthat is next to a gas station). Accordingly, positional guidance program108 searches databases 110 for locations that match the geographicalindicators of the search query.

In step 206, positional guidance program 108 returns results that matchthe received search query. In this embodiment, positional guidanceprogram 108 returns results that match the received search query tobrowser 104 of computer system 102. Accordingly, a user can select aresult as an intended destination. In this embodiment, positionalguidance program 108 can optionally generate a route to the selectedintended destination. In this embodiment, positional guidance program108 can provide other options (such as filter routes based on distance,traffic conditions, etc.) to assist in route generation.

In instances where a route has been generated and a user wants to changethe route, positional guidance program 108 can receive a generated routeand search query terms (such as geographical indicators) to find a routethat matches the geographical indicators of the search query. Forexample, positional guidance program 108 can receive a request to altera generated route. In this example, a user has specified a search queryof a roundabout intersection, east of the current location, within fivemiles. Responsive to receiving the search query (such as thegeographical indicators), positional guidance program 108 can findlocations that match the geographical indicators and return the resultsby repeating the operational steps of flowchart 200.

Accordingly, in this embodiment, positional guidance program 108 canlocate intended locations based, at least in part, on geographicalindicators without knowing conventional identifiers such as an address,global positioning system (GPS) coordinates, location name, etc. In someinstances, positional guidance program 108 can generate or alter a routeresponsive to identifying matching geographical indicators.

FIGS. 3A-C are example graphical icons that denote geographicalindicators, in accordance with an embodiment of the present invention.For example, the graphical icons discussed below can be displayed afteraccessing positional guidance program 108 (via browser 104).

FIG. 3A displays graphical icons representative of geographicalindicators. Specifically, the graphical icons depicted in FIG. 3A arerepresentative of junction points (such as Y, X, O junctions, etc.). Forexample, icon 302 denotes a four-way intersection. Icon 304 denotes acul-de-sac. Icon 306 denotes a Y shaped junction where traffic must turnleft or right. Icon 308 denotes a junction where traffic can keep goingstraight or turn right. Icon 310 denotes a junction where traffic mustflow in a single direction.

FIG. 3B displays graphical icons representative of a different set ofgeographical indicators. Specifically, the graphical icons depicted inFIG. 3B are representative of cardinal directions (such as north south,east, west).

For example, icon 312 denotes the cardinal direction of “north”. Icon314 denotes “east”. Icon 316 denotes “west” and icon 318 denotes“south”. Icon 320 denotes a locator icon. For example, responsive toselecting icon 320, positional guidance program 108 can display a mapand a current location.

FIG. 3C displays graphic icons represented of another set ofgeographical indicators. Specifically, the graphical icons depicted inFIG. 3C are representative of places of interest.

For example, icon 322 denotes a hospital. Icon 324 denotes a school.Icon 326 denotes a church. Icon 328 denotes a restaurant. Icon 330denotes a gas station. When selected, an optional menu (not shown) isdisplayed that give a user an option to indicate a general direction tosearch for, as discussed in greater detail with regard to FIG. 4. Forexample, responsive to selecting icon 322, positional guidance program108 can display with graphical icons to indicate a general direction(such as left or right of the selected icon). In other words, responsiveto selecting icon 322 (such as a hospital), positional guidance program108 can display options to indicate whether the desire geographicalindicator is to the left or right of the hospital.

FIG. 4 is an example graphical user interface 400 for inputtinggeographical indicators, in accordance with another embodiment of thepresent invention. Specifically, positional guidance program 108 cangenerate graphical user interface 400 which includes multiple graphicalicons representative of geographical indicator categories and respectiveselectable geographical indicators.

The term “geographical indicator category”, as used herein, refers todifferent geographical indicators. For example, a geographical indicatorcategory can be a junction point (such as Y, X, O junctions), places ofinterests (such as gas station, restaurant, hospital, etc.), directionalinformation with respect to places of interests (e.g., right of gasstation, left of restaurant, etc.), proximity to a current or knownlocation (such as a search radius), and navigational direction withrespect the proximity to a current location (such as north, south, east,west, etc.). In other embodiments, graphical user interface 400 caninclude other geographical indicator categories such as historical time.For example, a user can specify that a landmark or place of interestexisted in the search area within the last five years.

In this embodiment, a user can select graphical icons via a mouse and/orkeyboard. In other embodiments, where positional guidance program 108resides on a portable device (such as a phone, or portable navigationsystem), a user can select graphical icons by touch. Responsive toselecting a graphical icon for a geographical indicator category (suchas junction type), positional guidance program 108 can display a list ofgraphical icons for junction types.

In this example, graphical icons 402-410 denote different geographicalindicator categories (such as junction types, direction, places ofinterests/landmarks, distance, etc.) that a user can select as part of asearch query. For example, icon 402 denotes a geographical indicatoroption for junction type. Responsive to selecting icon 402, positionalguidance program 108 displays geographical indicators for junction types(such as X, O, Y junctions). In this example, the user has selected icon412, which denotes a Y junction, has been selected.

Icon 404 denotes a different geographical indicator category.Specifically, icon 404 denotes a geographical indicator category fordirection. In this example, a user has selected icon 414 which denotes“west”.

Icon 406 denotes another geographical indicator category. Specifically,icon 406 denotes a geographical indicator category for landmarks (i.e.,places of interest). In this example, a user has selected icon 406.Responsive to selecting icon 406, positional guidance program 108displays a list of graphical icons denoting options for landmark types.In this example, positional guidance program 108 displays icons 416,422, and 424 which represent a gas station, restaurant, and school,respectively.

Continuing the above example, positional guidance program 108 candisplay options to indicate a direction (such as left or right) withrespect to a landmark to help refine a search. For example, a user canselect icon 416 that denotes a gas station and select icon 418 tospecify the desired location is located left of the gas station.

Furthermore, a user can specify a priority order for the selectedlandmark type (such as icon 416). In this example, a user has selectedthat positional guidance program 108 prioritize the gas station first.In instances where more than one graphical icon for landmark types hasbeen selected, (e.g., where a user has selected icons 416, 422, and424), a user can specify a priority order for each landmark type. Forexample, a user can specify that icon 416 be prioritized first, icon422, be prioritized second, and icon 424, to be prioritized third. Inother words, a user can specify an order in which to find matchinggeographical indicators.

Icon 408 denotes another geographical indicator category. Specifically,icon 408 denotes a geographical indicator category for distance. In thisexample, a user has specified that the area to be located is within twokilometers. Positional guidance program 108 can then search for matchinggeographical indicators within a two kilometer radius of a knownlocation. For example, positional guidance program 108 can search formatching geographical indicators within a two kilometer radius of acurrent location.

Optionally, positional guidance program 108 can display icon 410 whichdenotes yet another geographical indicator category. Specifically, icon410 denotes a geographical indicator based on time. Continuing theexamples above, a user can specify using icons 412, 414, 416, and 426 tospecify that positional guidance program 108 should be searching for alocation that matches a Y junction type, west of the current location,left of a gas station, within a two kilometer radius. By selecting icon410, a user can input a time-based criteria (i.e., how long ago alocation existed). Specifically, a user can specify that the location tobe searched existed at least two years ago. In this example, a user hasselected icon 428 which denotes a time based criteria dating two yearsago. In other words, by selecting icon 410 a user can specify thatpositional guidance program 108 should be searching for a location thatmatches a Y junction type, west of the current location, left of a gasstation, within a two kilometer radius that existed at least two yearsago.

FIGS. 5A and 5B are example screenshots generated responsive toreceiving a user search query for geographical indicators, in accordancewith an embodiment of the present invention. Specifically, FIGS. 5A and5B are example screenshots generated responsive to receiving a userquery selected from graphical user interface 400 of FIG. 4.

FIG. 5A displays a screenshot of map 500 displaying a search locationfactoring in geographical indicators received from a search query.

In this example, a user has inputted a search query to positionalguidance program 108. Specifically, browser 104 transmitted a searchquery with the following criteria: to search for a Y junction that isleft of a gas station, within a ten mile radius, west of the user'scurrent location.

Responsive to receiving the user's search query, positional guidanceprogram 108 displays map 500. Map 500 displays the user's currentlocation which is denoted by icon 502. In this example, line 506 denotesthe search radius of ten miles. Region 504 indicates the area to besearched which is west of icon 502. Graphic 508 reflects a matchinglocation to the user search query (i.e., a Y-shaped junction).

FIG. 5B displays an example screen shot of a location that matches auser search query. Specifically, FIG. 5B displays an enlarged view ofgraphic 508 which denotes a matching location.

Responsive to selecting graphic 508, positional guidance program 108 candisplay an enlarged view of a location that matches the user query. Forexample, positional guidance program 108 can display an enlarged Yshaped junction 510 that matches the geographical indicator transmittedin the search query (such as the geographical indicator of a Y shapedjunction that is left of a gas station). Positional guidance program 108further displays matching location 512 which, in this example, is a gasstation. Accordingly, a user can transmit instructions to positionalguidance program 108 to generate a route leading to matching location512.

FIG. 6 is a block diagram of internal and external components of acomputer system 600, which is representative of the computer systems ofFIG. 1, in accordance with an embodiment of the present invention. Itshould be appreciated that FIG. 6 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Ingeneral, the components illustrated in FIG. 6 are representative of anyelectronic device capable of executing machine-readable programinstructions. Examples of computer systems, environments, and/orconfigurations that may be represented by the components illustrated inFIG. 6 include, but are not limited to, personal computer systems,server computer systems, thin clients, thick clients, laptop computersystems, tablet computer systems, cellular telephones (e.g., smartphones), multiprocessor systems, microprocessor-based systems, networkPCs, minicomputer systems, mainframe computer systems, and distributedcloud computing environments that include any of the above systems ordevices.

Computer system 600 includes communications fabric 602, which providesfor communications between one or more processors 604, memory 606,persistent storage 608, communications unit 612, and one or moreinput/output (I/O) interfaces 614. Communications fabric 602 can beimplemented with any architecture designed for passing data and/orcontrol information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system. For example,communications fabric 602 can be implemented with one or more buses.

Memory 606 and persistent storage 608 are computer-readable storagemedia. In this embodiment, memory 606 includes random access memory(RAM) 616 and cache memory 618. In general, memory 606 can include anysuitable volatile or non-volatile computer-readable storage media.Software is stored in persistent storage 608 for execution and/or accessby one or more of the respective processors 604 via one or more memoriesof memory 606.

Persistent storage 608 may include, for example, a plurality of magnetichard disk drives. Alternatively, or in addition to magnetic hard diskdrives, persistent storage 608 can include one or more solid state harddrives, semiconductor storage devices, read-only memories (ROM),erasable programmable read-only memories (EPROM), flash memories, or anyother computer-readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 608 can also be removable. Forexample, a removable hard drive can be used for persistent storage 608.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage808.

Communications unit 612 provides for communications with other computersystems or devices via a network (e.g., network 112). In this exemplaryembodiment, communications unit 612 includes network adapters orinterfaces such as a TCP/IP adapter cards, wireless Wi-Fi interfacecards, or 3G or 4G wireless interface cards or other wired or wirelesscommunication links. The network can comprise, for example, copperwires, optical fibers, wireless transmission, routers, firewalls,switches, gateway computers and/or edge servers. Software and data usedto practice embodiments of the present invention can be downloaded tocomputer system 102 through communications unit 612 (e.g., via theInternet, a local area network or other wide area network). Fromcommunications unit 612, the software and data can be loaded ontopersistent storage 608.

One or more I/O interfaces 614 allow for input and output of data withother devices that may be connected to computer system 600. For example,I/O interface 614 can provide a connection to one or more externaldevices 620 such as a keyboard, computer mouse, touch screen, virtualkeyboard, touch pad, pointing device, or other human interface devices.External devices 620 can also include portable computer-readable storagemedia such as, for example, thumb drives, portable optical or magneticdisks, and memory cards. I/O interface 614 also connects to display 622.

Display 622 provides a mechanism to display data to a user and can be,for example, a computer monitor. Display 622 can also be an incorporateddisplay and may function as a touch screen, such as a built-in displayof a tablet computer.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method comprising: receiving, by one or morecomputer processors, a search query for an unknown location, wherein thesearch query comprises one or more symbols, wherein a symbol among theone or more symbols denotes a geographical indicator category thatincludes a junction point indicating a junction type in proximity to aplace of interest; searching, by one or more computer processors, for alocation based on the received one or more symbols, wherein at least oneof the received symbols includes a symbol denoting a geographicalindicator category that includes a junction point indicating a junctiontype in proximity to a place of interest; returning, by one or morecomputer processors, results that match the received search query; andin response to receiving a selection among the results, generating aroute to the location associated with the received selection.
 2. Themethod of claim 1, wherein the geographical indicator category furthercomprises one or more: a cardinal direction with respect to the knownlocation, directional information with respect to the place of interest,proximity to a known location, and a historical indicator.
 3. The methodof claim 1, further comprising: generating, by one or more computerprocessors, a route to a location that matches the one or more symbolsrepresentative of the unknown location.
 4. The method of claim 3,further comprising: providing, by one or more computer processors, anoption to display multiple routes based, at least in part, on trafficconditions and distance.
 5. The method of claim 1, wherein searching, byone or more computer processors, for a location that matches the one ormore symbols representative of the unknown location comprises:identifying, by one or more computer processors, a known location,wherein the known location can be a user's current location or auser-defined location; and refining, by one or more computer processors,a search region based, at least in part, on received geographicalindicators.
 6. The method of claim 5, wherein refining, by one or morecomputer processors, a search region based, at least in part, onreceived geographical indicators comprises: identifying, by one or morecomputer processors, a search radius; identifying, by one or morecomputer processors, a direction within the search radius; identifying,by one or more computer processors, places of interest within theidentified direction that is within the identified search radius;identifying, by one or more computer processors, junction points withinthe identified direction that is within the identified search radius;and identifying, by one or more computer processors, one or morelocations that match junction points and places of interest within theidentified direction of the identified search radius.
 7. The method ofclaim 6, further comprising: ranking, by one or more computerprocessors, the identified one or more locations based, at least in parton proximity to the identified known location.
 8. A computer programproduct comprising: one or more computer readable storage media andprogram instructions stored on the one or more computer readable storagemedia, the program instructions comprising: program instructions toreceive a search query for an unknown location, wherein the search querycomprises one or more symbols, wherein a symbol among the one or moresymbols denotes a geographical indicator category that includes ajunction point indicating a junction type in proximity to a place ofinterest; program instructions to search for a location based on thereceived one or more symbols, wherein at least one of the receivedsymbols includes a symbol denoting a geographical indicator categorythat includes a junction point indicating a junction type in proximityto a place of interest; program instructions to return results thatmatch the received search query; and in response to receiving aselection among the results, program instructions to generate a route tothe location associated with the received selection.
 9. The computerprogram product of claim 8, wherein the geographical indicator categoryfurther comprises one or more: a cardinal direction with respect to theknown location, directional information with respect to the place ofinterest, proximity to a known location, and a historical indicator. 10.The computer program product of claim 8, wherein the programinstructions stored on the one or more computer readable storage mediafurther comprise: program instructions to generate a route to a locationthat matches the one or more symbols representative of the unknownlocation.
 11. The computer program product of claim 10, wherein theprogram instructions stored on the one or more computer readable storagemedia further comprise: program instructions to provide an option todisplay multiple routes based, at least in part, on traffic conditionsand distance.
 12. The computer program product of claim 8, whereinprogram instructions to search for a location that matches the one ormore symbols representative of the unknown location comprise: programinstructions to identify a known location, wherein the known locationcan be a user's current location or a user-defined location; and programinstructions to refine a search region based, at least in part, onreceived geographical indicators.
 13. The computer program product ofclaim 12, wherein program instructions to refine a search region based,at least in part, on received geographical indicators comprise: programinstructions to identify a search radius; program instructions toidentify a direction within the search radius; program instructions toidentify places of interest within the identified direction that iswithin the identified search radius; program instructions to identifyjunction points within the identified direction that is within theidentified search radius; and program instructions to identify one ormore locations that match junction points and places of interest withinthe identified direction of the identified search radius.
 14. Thecomputer program product of claim 13, wherein the program instructionsstored on the one or more computer readable storage media furthercomprise: program instructions to rank the identified one or morelocations based, at least in part on proximity to the identified knownlocation.
 15. A computer system comprising: one or more computerprocessors; one or more computer readable storage media; and programinstructions stored on the one or more computer readable storage mediafor execution by at least one of the one or more computer processors,the program instructions comprising: program instructions to receive asearch query for an unknown location, wherein the search query comprisesone or more symbols, wherein a symbol among the one or more symbolsdenotes a geographical indicator category that includes a junction pointindicating a junction type in proximity to a place of interest; programinstructions to search for a location based on the received one or moresymbols, wherein at least one of the received symbols includes a symboldenoting a geographical indicator category that includes a junctionpoint indicating a junction type in proximity to a place of interest;program instructions to return results that match the received searchquery; and in response to receiving a selection among the results,program instructions to generate a route to the location associated withthe received selection.
 16. The computer system of claim 15, wherein thegeographical indicator category further comprises one or more: acardinal direction with respect to the known location, directionalinformation with respect to the place of interest, proximity to a knownlocation, and a historical indicator.
 17. The computer system of claim15, wherein the program instructions stored on the one or more computerreadable storage media further comprise: program instructions togenerate a route to a location that matches the one or more symbolsrepresentative of the unknown location.
 18. The computer system of claim17, wherein the program instructions stored on the one or more computerreadable storage media further comprise: program instructions to providean option to display multiple routes based, at least in part, on trafficconditions and distance.
 19. The computer system of claim 15, whereinprogram instructions to search for a location that matches the one ormore symbols representative of the unknown location comprise: programinstructions to identify a known location, wherein the known locationcan be a user's current location or a user-defined location; and programinstructions to refine a search region based, at least in part, onreceived geographical indicators.
 20. The computer system of claim 19,wherein program instructions to refine a search region based, at leastin part, on received geographical indicators comprise: programinstructions to identify a search radius; program instructions toidentify a direction within the search radius; program instructions toidentify places of interest within the identified direction that iswithin the identified search radius; program instructions to identifyjunction points within the identified direction that is within theidentified search radius; and program instructions to identify one ormore locations that match junction points and places of interest withinthe identified direction of the identified search radius.